\singlespacing
\begin{verbatim}
<!--

File Name:  build.xml
Purpose  :  Build file for a Sample Project
Author   :  Original author ~ Joe Boyle
Date     :  Ported on date  ~ 17-Nov-2006

Project:    Sample Project


This file provides the build instructions for the "ant" automated project
build tool to construct and test a release version of a Sample Project.  
To use this script, perform the following steps:

   1. Change directory to the top level directory of the project
   2. execute the command "ant"

The build file also runs all unit tests for all modules, and generates a report
of the results.  

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Revision history
   ~~~~~~~~~~~~~~~~

    Rev    Rev. Date   Released by:  Revision Description
   ~~~~~  ~~~~~~~~~~~  ~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1.0    17-Nov-2006  Joe Boyle     Initial version written

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-->

<project name="sample" default="compile" basedir=".">

   <!--
   <  Define the build properties
   < -->
   <property name="build.dir"          location="build"                           />
   <property name="build.doc.dir"      location="${build.dir}/docs"               />
   <property name="build.prod.dir"     location="${build.dir}/product"            />
   <property name="build.scripts.dir"  location="${build.prod.dir}/scripts"       />
   <property name="docs.dir"           location="docs"                            />
   <property name="scripts.dir"        location="scripts"                         />

   <!--
   <  Define the clean target
   < -->
   <target name="clean">
      <delete dir="${build.dir}" />
   </target>

   <!--
   <  Define the prepare target (build directory structure)
   < -->
   <target name="prepare">
      <mkdir dir="${build.dir}"                       />
      <mkdir dir="${build.doc.dir}"                   />
      <mkdir dir="${build.prod.dir}"                  />
   </target>

   <!--
   <  Define the compile target (copies files to locations)
   < -->
   <target name="compile" depends="prepare">
      <copy todir="${build.prod.dir}">
         <fileset dir="${scripts.dir}"/>
      </copy>
      <copy todir="${build.doc.dir}">
         <fileset dir="${docs.dir}"/>
      </copy>
   </target>
   
   <!--
   <  Define the release target 
   < -->
   <target name="release" depends="compile">
      <exec dir="${build.scripts.dir}" executable="tclsh">
         <arg line="init.tcl"/>
      </exec>
   </target>

   <!--
   <  Define the test target (runs the unit tests)
   < -->
   <target name="test" depends="compile">
      <exec dir="${build.scripts.dir}/unitTests" executable="tclsh">
         <arg line="unitTestsAll.tcl"/>
      </exec>
   </target>

</project>
\end{verbatim}
\doublespacing